iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0
Software Development

2022年 JavaScript 相關應用及學習之繁體中文選系列 第 12

[2022年 JavaScript 相關應用及學習之繁體中文選] 深入淺出設計模式 | 心得導讀

  • 分享至 

  • xImage
  •  

導言

Design Patterns 設計模式是經典中的經典。自二十多年前,破天荒的問世,該書將程式撰寫的方式抽象化,日後影響了數以萬計的工程師,我們可以在很多的系統裡看到 Design Patterns 的影子,例如:
前端的 redux :狀態模式、觀察者模式
github 的 action: 觀察者模式
k8s & docker :轉接器模式、工廠模式、裝飾器模式…

諸如此類,太多了,本書深深的影響了目前程式工程界,不可不學之;還要學而時習之。

架構

本書雖然是以 JAVA 為例子,但其中所介紹的幾樣基礎模式,觀察者、裝飾器、工廠、單例、命令、轉接器與門面、樣板方式、迭代器與組合、狀態、代理、複合等等,建議看過之後,通通在用你的理解,撰寫出 js 版本,才能收事半功倍之效。
摘要
狀態模式:可讓物件在内部狀態改變時,改變其行為。讓物件彷彿變成另一個類別。
狀態模式可以讓物件根據它的內部狀態改變許多行為。
狀態模式與程序狀態機不一樣,它用完整的類別來表示每一個狀態。
與狀態物件組合在一起的 Context 藉著委託給目前的狀態物件來取得它的行為。
藉著將每一個狀態封裝在 類別裡面,我們可以將以後的任何改變區域化。
狀態模式與策略模式的類別圖相同,但是它們的目的不同。
策略模式通常指定 Context 類別該表現出哪種行為或 使用哪種演算法。
狀態模式可讓 Context 隨 著狀態的改變而改變行為。
狀態的轉換可以用 State 類別或 Context 類別來控制。
使用狀態模式通常會讓你 的設計增加許多類別。
許多不同的 Context 實例 可以共用一組 State 類別。

總結

難易度

⭐⭐⭐⭐

自備技能

程式撰寫能力

適合對象

中階

心得

適合已經有寫了程式兩年以上,想要更了解程式架構的開發者。


上一篇
[2022年 JavaScript 相關應用及學習之繁體中文選] JavaScript & JQuery:網站互動設計程式進化之道 | 心得導讀
下一篇
[2022年 JavaScript 相關應用及學習之繁體中文選] Docker 入門與實戰 | 心得導讀
系列文
2022年 JavaScript 相關應用及學習之繁體中文選31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言